package com.semis.common.enums;

import java.util.stream.Stream;

/**
 * 报警类型
 */
public enum WorkAlarmType {
    /**
     * 无报警
     */
    NO_ALARM("noAlarm", "无报警"),
    /**
     * 未识别到车牌
     */
    NO_FIND_PALATE("noFindPalate", "未识别到车牌"),
    /**
     * 停车未完成打开箱门
     */
    OPEN_BOX_ERROR("openBoxError", "停车未完成打开箱门"),
    /**
     * 未完成静电释放
     */
    NO_RELSEASE_ERROR("noReleaseError", "未释放静电开始工作"),
    /**
     * 确认过程中安全措施拆除
     */
    STOPPING_ERROR("stoppingError", "确认过程中安全装置丢失"),
    /**
     * 安全装置不到位开始作业
     */
    DEPLOY_ERROR("deployError", "安全装置不到位开始作业"),
    /**
     * 作业中安全措施拆除
     */
    WORKING_ERROR("workingError", "作业中安全装置丢失"),
    /**
     * 静置未完成安全措施拆除
     */
    STANDING_ERROR("standingError", "静置未完成安全装置丢失"),
    /**
     * 安全措施拆除顺序错误
     */
    DISMANTLE_ERROR("dismantleError", "安全装置拆除顺序错误"),
    /**
     * 其他
     */
    OTHER_ERROR("otherError", "未知的报警");

    private final String code;

    private final String desc;

    WorkAlarmType(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    public String getCode() {
        return code;
    }

    public String getDesc() {
        return desc;
    }

    public static WorkAlarmType getByCode(String type) {
        return Stream.of(WorkAlarmType.values()).filter(w -> w.getCode().equals(type)).findAny().orElse(null);
    }
}
